/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dinotrack.struts;

import java.util.ArrayList;
import java.util.ListIterator;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

/**
 *
 * @author flavio
 */
public class ListaReproduccionForm extends org.apache.struts.action.ActionForm {
    
    private String cancion;
    private String id;
    private String artista;
    private String trListaAlbum;
    private String trListaCancion;
    private String trListaArtista;
    private StringBuffer listaAlbum;
    private StringBuffer listaCancion;
    private StringBuffer listaArtista;
    private String numeroCancionBorrar;
    
    private int cantidad;
    private ArrayList listaReproduccion;
    

    /**
     * @return
     */
    public String getCancion() {
        return cancion;
    }

    /**
     * @param string
     */
    public void setCancion(String cancion) {
        this.cancion = cancion;
    }

    /**
     * @return
     */
    public String getId() {
        return id;
    }

    /**
     * @param i
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * @return the artista
     */
    public String getArtista() {
        return artista;
    }

    /**
     * @param artista the artista to set
     */
    public void setArtista(String artista) {
        this.artista = artista;
    }

    /**
     * @return the listaAlbum
     */
    public String getTrListaAlbum() {
        return trListaAlbum;
    }

    /**
     * @param listaAlbum the listaAlbum to set
     */
    public void setTrListaAlbum(String trListaAlbum) {
        this.trListaAlbum = trListaAlbum;
    }

    /**
     * @return the listaCancion
     */
    public String getTrListaCancion() {
        return trListaCancion;
    }

    /**
     * @param listaCancion the listaCancion to set
     */
    public void setTrListaCancion(String trListaCancion) {
        this.trListaCancion = trListaCancion;
    }

    /**
     * @return the listaArtista
     */
    public String getTrListaArtista() {
        return trListaArtista;
    }

    /**
     * @param listaArtista the listaArtista to set
     */
    public void setTrListaArtista(String trListaArtista) {
        this.trListaArtista = trListaArtista;
    }

    /**
     * @return the numeroCancionBorrar
     */
    public String getNumeroCancionBorrar() {
        return numeroCancionBorrar;
    }

    /**
     * @param numeroCancionBorrar the numeroCancionBorrar to set
     */
    public void setNumeroCancionBorrar(String numeroCancionBorrar) {
        this.numeroCancionBorrar = numeroCancionBorrar;
    }


    
    /**
     *
     */
    public ListaReproduccionForm() {
        super();
        trListaAlbum="";
        trListaCancion="";
        trListaArtista="";
        listaAlbum=new StringBuffer();
        listaCancion=new StringBuffer();
        listaArtista=new StringBuffer();
        id="-1";
        numeroCancionBorrar="-1";
        cantidad=0;
     //   listaReproduccion=new ArrayList<NodoListaReproduccion>();
    }
/*
     public void addCancion(int id,String cancion, ArrayList<String> artistas, String album) {
         
         NodoListaReproduccion nodo=new NodoListaReproduccion();
         cantidad++;
         nodo.setNumero(cantidad);
         
         nodo.setAlbum("<td> <div class=\"tdAlbum\">"+album+
                 "<a href=\"lista.do?numeroCancionBorrar="+cantidad+"\"><img name=\"album"+cantidad+"\" src=\"img_lista_reproduccion/delete.png\" class=\"botonDelete\""+
                 "onmouseover=\"album"+cantidad+".src='img_lista_reproduccion/delete_hover.png'\" onmouseout=\"album"+cantidad+".src='img_lista_reproduccion/delete.png'\"/></a>"+
                 "</div></td>");
         listaAlbum.append(nodo.getAlbum());
         
         nodo.setCancion("<td> <div class=\"tdCancion\" title=\""+cancion+"\">"+cancion+"</div></td>");
         listaCancion.append(nodo.getCancion());
         
         ListIterator li=artistas.listIterator();
         String artists="";
         while(li.hasNext()){
             artists+=li.next();
             if(li.hasNext())
                 artists+=" & ";
         }

         nodo.setArtista("<td> <div class=\"tdArtista\" title=\""+artists+"\">"+artists+"</div></td>");
         listaArtista.append(nodo.getArtista());
         
         trListaAlbum=listaAlbum.toString();
         trListaCancion=listaCancion.toString();
         trListaArtista=listaArtista.toString();
         
         listaReproduccion.add(nodo);
         this.id="-1";
    }
     
    public void deleteCancion(){
        listaAlbum.delete(0, listaAlbum.length());
        listaCancion.delete(0, listaCancion.length());
        listaArtista.delete(0, listaArtista.length());
        
        NodoListaReproduccion cancionEliminar=null;
        for(NodoListaReproduccion n:listaReproduccion){
            if(n.getNumero()!=Integer.parseInt(numeroCancionBorrar)){
                listaAlbum.append(n.getAlbum());
                listaCancion.append(n.getCancion());
                listaArtista.append(n.getArtista());
            }
            else
                cancionEliminar=n;
        }
        
        listaReproduccion.remove(cancionEliminar);
        
        trListaAlbum=listaAlbum.toString();
        trListaCancion=listaCancion.toString();
        trListaArtista=listaArtista.toString();
        
        numeroCancionBorrar="-1";
    }
     */
    /**
     * This is the action called from the Struts framework.
     * @param mapping The ActionMapping used to select this instance.
     * @param request The HTTP Request we are processing.
     * @return
     */
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
        ActionErrors errors = new ActionErrors();
//        if (getName() == null || getName().length() < 1) {
//            errors.add("name", new ActionMessage("error.name.required"));
//            // TODO: add 'error.name.required' key to your resources
//        }
        return errors;
    }
}
